drag drop

Otázka od: mato

14. 4. 2004 8:38

zdravim,

mam aplikaciu a v nej pole edit kde musim zadat meno suboru s cestou. Ako
urobit aby som mohol prehodit subor rovno s WindowsComandera ?
D7



Odpovedá: Jan Fiala

14. 4. 2004 8:38

14.4.2004 mato:
> zdravim,

> mam aplikaciu a v nej pole edit kde musim zadat meno suboru s cestou. Ako
> urobit aby som mohol prehodit subor rovno s WindowsComandera ?
> D7

Osetrit si zpravu WM_DROPFILES
private
procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;

implementation
procedure TForm1.WMDropFiles(var Msg: TMessage);
var
  szPathName: array[0..260] of char;
  iNumberDropped, i: Integer;
  rect: TRect;
begin
  try
    iNumberDropped := DragQueryFile(THandle(Msg.wParam), Cardinal(-1), nil, 0);
    for i := 0 to iNumberDropped - 1 do
    begin
      DragQueryFile(THandle(Msg.wParam), i, szPathName, SizeOf(szPathName));
      if szPathName = '' then
        Break
      else
        Edit1.Text := szPathName;
    end;
  finally
    Msg.Result := 0;
    DragFinish(THandle(Msg.wParam));
  end;
end;

--
Jan Fiala
mailto:jan.fiala@wo.cz


Odpovedá: mato

19. 4. 2004 12:37

vdaka, funguje to
Ale ma zarazilo ze som ohladom tejto spravy v helpe D7 nic nenasiel. Help
take nieco nepozna.
Este aby som tomu aj trochu chapal. Hlavne co spusti WMDropFiles
Mam tomu rozumiet tak ze zapis v private :
          procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;
sposobi ze sprava message WM_DROPFILES spusti proceduru WMDropFiles ?
kde sa dostanem k popisu dalsich zprav ?




> 14.4.2004 mato:
> > zdravim,
>
> > mam aplikaciu a v nej pole edit kde musim zadat meno suboru s cestou.
Ako
> > urobit aby som mohol prehodit subor rovno s WindowsComandera ?
> > D7
>
> Osetrit si zpravu WM_DROPFILES
> private
> procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;
>
> implementation
> procedure TForm1.WMDropFiles(var Msg: TMessage);
> var



Odpovedá: mato

19. 4. 2004 16:34

este by som chcel vediet ako urobit :
mam aplikaciu v ktorej je jedno edit pole na nazov suboru s cestou.
Aplikacia je zatvorena. Ako urobit aby ak z prieskumnika chytim mysou subor
a hodim ho na iconu aby sa otvorila a nazov suboru aj s cestou sa zapisal do
toho pola ?
D7
dakujem


Odpovedá: Martin Schayna

19. 4. 2004 17:17

mato <mato.tino@inmail.sk> wrote:
> mam aplikaciu v ktorej je jedno edit pole na nazov suboru s cestou.
> Aplikacia je zatvorena. Ako urobit aby ak z prieskumnika chytim mysou
> subor a hodim ho na iconu aby sa otvorila a nazov suboru aj s cestou
> sa zapisal do toho pola ?

Tohle je to nejjednodussi -- aplikace se spusti a jako parametr na prikazove
radce dostane nazev souboru vcetne cesty, takze staci osetrit pomoci
ParamStr() a ParamCount.

Martin Schayna